package com.qf;

import com.qf.bean.Manager;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
    //    queryTest();
    //}
    //
    //public static void queryTest(){
    //    //1.sql语句
    //    String sql =" SELECT `id`,`account`,`password`,`phone`,`level`,`remark` FROM `manager` ";
    //    //2.执行查询操作
    //    ResultSet result = DBUtils.query(sql, new PstCallback() {
    //        @Override
    //        public void pstSetValue(PreparedStatement pst) {
    //            //再次出编写，对pst中的？进行数值设置的语句
    //            //因为17行的sql中不包含？，因此不需要调用pst.setXXX方法
    //        }
    //    });
    //    //3、处理数据
    //    List<Manager> list = new ArrayList<>();
    //    try {
    //        while (result.next()){
    //            int id = result.getInt("id");
    //            String account = result.getString("account");
    //            String password = result.getString("password");
    //            String phone = result.getString("phone");
    //            String level = result.getString("level");
    //            String remark = result.getString("remark");
    //
    //            Manager manager= new Manager(id,account,password,phone,level,remark);
    //            list.add(manager);
    //        }
    //    } catch (SQLException e) {
    //        throw new RuntimeException(e);
    //    }
    //
    //    System.out.println("list = " + list);
    //
    //    //4.关闭连接
    //    if (result != null) {
    //        try {
    //            result.close();
    //        } catch (SQLException e) {
    //            throw new RuntimeException(e);
    //        }
    //    }
    //    DBUtils.close();
    }

    public static void updateTest(){
        //1.sql
        //String sql = " INSERT INTO `manager`(`account`,`password`,`phone`,`level`,`remark`) VALUES (?,?,?,?,?) ";
        ////2.调用执行
        //final Manager admin = new Manager();
        //admin.setAccount("admin");
        //admin.setPassword("11111111");
        //admin.setPhone("911");
        //admin.setLevel("level2");
        //admin.setRemark("二级管理员");
        ////PstCallbackImpl impl =new PstCallbackImpl();
        //
        ////匿名内部类充当回调函数
        ////int result = DBUtils.executeUpdate(sql, new PstCallback() {
        //    @Override
        //    public void pstSetValue(PreparedStatement pst) {
        //        try {
        //            pst.setString(1, admin.getAccount());
        //            pst.setString(2,admin.getPassword());
        //            pst.setString(3,admin.getPhone());
        //            pst.setString(4,admin.getLevel());
        //            pst.setString(5,admin.getRemark());
        //        } catch (SQLException e) {
        //            e.printStackTrace();
        //        }
        //    }
        //});
        //System.out.println("result = " + result);

        //3.关闭数据库
        //DBUtils.close();
    }
}
